<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="app">
    Vue生命周期第二个阶段-运行阶段
    <hr>
    <span id="sp">{{message}}</span>
    <input type="button" @click="changeData()" value="修改数据">
</div>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            message: "你正在学习Vue生命周期-运行阶段"
        },
        methods: {
            changeData() {
                this.message = "随机数:" + Math.random();
            }
        },
        //每次data中的数据发生变化，都会执行以下两个函数
        beforeUpdate() {
            //生命周期中第五个函数，该函数是data中的数据发生变化时执行的
            //这个事件执行时仅仅是Vue对象中的data数据变化，页面显示的仍然是原始数据
            console.log("beforeUpdate-Vue对象中的值:" + this.message);
            console.log("beforeUpdate-页面上的值:" + document.getElementById("sp").innerText);
        },
        updated() {
            //生命周期中第六个函数，该函数执行时data中的数据已经发生了变化，页面显示的数据同样进行了更新
            //页面中的数据已经和data中的数据一致
            console.log("updated-Vue对象中的值:" + this.message);
            console.log("updated-页面上的值:" + document.getElementById("sp").innerText);
        }
    });
</script>
</body>
</html>